()
Newbie
Messaggi:
Iscritto:
|
Salve a tutti,
questo è il mio problema...ho un file di testo di 3 righe:
Piero
Tofy
.it
vorrei che diventasse così:
Piero
Tofy
Forum
.it
Su internet purtroppo non sono riuscito a trovare niente di interessante mi potete aiutare? Grazie in anticipo
|
|
tullio1995 (Normal User)
Rookie
Messaggi: 59
Iscritto: 20/03/2011
|
Prova a usare un file temporaneo dove appoggiarti, copi il file fino e dove devi inserire la stringa, inserisci la stringa, e poi continui a copiare. Poi rinomini e cancelli il vecchio file
|
|
()
Newbie
Messaggi:
Iscritto:
|
non esiste un metodo più semplice?
|
|
GN (Member)
Guru
Messaggi: 772
Iscritto: 30/04/2011
|
Io farei così (non l'ho provato):
Codice sorgente - presumibilmente VB.NET |
Dim s As String = My.Computer.FileSystem.ReadAllText("miofile.txt") 'carico il file in una variabile Dim lines() As String = s.Split(Environment.NewLine) 'ottengo l'array delle righe Dim c As Integer = 0 'punto dove devi iniziare a scrivere For i As Integer = 0 To RigaDoveVuoiScrivere 'faccio passare le righe dalla prima a quella dove vuoi scrivere c += lines(i).Length + 1 'per ognuna sommo il numero di caratteri della riga + 1 che è il ritorno a capo Next s.Insert(c, "TestoCheVuoiScrivere" & Environment.NewLine) 'inserisco il testo e un ritorno a capo My.Computer.FileSystem.WriteAllText("miofile.txt", s, False) 'salvo nel file
|
|
|
()
Newbie
Messaggi:
Iscritto:
|
Postato originariamente da GN:
Io farei così (non l'ho provato):
Codice sorgente - presumibilmente VB.NET |
Dim s As String = My.Computer.FileSystem.ReadAllText("miofile.txt") 'carico il file in una variabile Dim lines() As String = s.Split(Environment.NewLine) 'ottengo l'array delle righe Dim c As Integer = 0 'punto dove devi iniziare a scrivere For i As Integer = 0 To RigaDoveVuoiScrivere 'faccio passare le righe dalla prima a quella dove vuoi scrivere c += lines(i).Length + 1 'per ognuna sommo il numero di caratteri della riga + 1 che è il ritorno a capo Next s.Insert(c, "TestoCheVuoiScrivere" & Environment.NewLine) 'inserisco il testo e un ritorno a capo My.Computer.FileSystem.WriteAllText("miofile.txt", s, False) 'salvo nel file
|
|
per prima cosa ti ringrazio....adesso il codice l'ho provato però mi salva un altro file testo senza la riga che voglio aggiungere |
|
GN (Member)
Guru
Messaggi: 772
Iscritto: 30/04/2011
|
Ops ho sbagliato una cosa, invece che
Codice sorgente - presumibilmente Plain Text |
s.Insert(c, "TestoCheVuoiScrivere" & Environment.NewLine)
|
bisogna mettere
Codice sorgente - presumibilmente Plain Text |
s = s.Insert(c, "TestoCheVuoiScrivere" & Environment.NewLine)
|
Così dovrebbe funzionare. |
|
Thejuster (Admin)
Guru^2
Messaggi: 2308
Iscritto: 04/05/2008
|
Codice sorgente - presumibilmente VB.NET |
Public Sub Aggiungi_linea(filename As String, linea As Integer, testo As String) Dim rtb As New RichTextBox() 'RichTextBox Provvisorio rtb.LoadFile(filename, RichTextBoxStreamType.PlainText) rtb.Text.Insert(linea, testo) Dim rtb2 As New RichTextBox() For i As Integer = 0 To rtb.Lines.Length - 1 If i = linea Then rtb2.AppendText(testo & vbLf) End If rtb2.AppendText(rtb.Lines(i) + vbLf) Next rtb2.SaveFile(filename, RichTextBoxStreamType.PlainText) End Sub
|
Funzione che aggiunge una linea ad un file esistente. Ovviamente specificando il numero della riga.
Ultima modifica effettuata da Thejuster il 20/06/2013 alle 11:30
|
|
()
Newbie
Messaggi:
Iscritto:
|
grazie, adesso ho risolto
|
|